(0) Obligation:

Clauses:

transpose(A, B) :- transpose_aux(A, [], B).
transpose_aux(.(R, Rs), X1, .(C, Cs)) :- ','(row2col(R, .(C, Cs), Cols1, [], Accm), transpose_aux(Rs, Accm, Cols1)).
transpose_aux([], X, X).
row2col(.(X, Xs), .(.(X, Ys), Cols), .(Ys, Cols1), A, B) :- row2col(Xs, Cols, Cols1, .([], A), B).
row2col([], [], [], A, A).

Query: transpose(g,a)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

row2colA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) :- row2colA(T267, T271, X539, .([], T270), X540).
row2colA([], [], [], T279, .([], T279)).
pB(T24, T28, T29, X35, X36, T25) :- row2colC(T24, T28, T29, X35, X36).
pB(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) :- ','(row2colC(T24, T28, T29, .(T310, T311), T307), pB(T305, T310, T311, X611, X612, T306)).
pB(T24, T28, T29, T318, T318, []) :- row2colC(T24, T28, T29, T318, T318).
row2colC(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) :- row2colA(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477).
row2colC(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))).
row2colC(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))).
row2colC(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))).
row2colC(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))).
row2colC(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))).
row2colC(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))).
row2colC(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])).
transposeD(.(T24, T25), .(T28, T29)) :- pB(T24, T28, T29, X35, X36, T25).
transposeD([], []).

Query: transposeD(g,a)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
transposeD_in: (b,f)
pB_in: (b,f,f,f,f,b)
row2colC_in: (b,f,f,f,f)
row2colA_in: (b,f,f,b,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSED_IN_GA(.(T24, T25), .(T28, T29)) → U7_GA(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
TRANSPOSED_IN_GA(.(T24, T25), .(T28, T29)) → PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25)
PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25) → U2_GAAAAG(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25) → ROW2COLC_IN_GAAAA(T24, T28, T29, X35, X36)
ROW2COLC_IN_GAAAA(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_GAAAA(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
ROW2COLC_IN_GAAAA(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → ROW2COLA_IN_GAAGA(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)
ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_GAAGA(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → ROW2COLA_IN_GAAGA(T267, T271, X539, .([], T270), X540)
PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → ROW2COLC_IN_GAAAA(T24, T28, T29, .(T310, T311), T307)
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → PB_IN_GAAAAG(T305, T310, T311, X611, X612, T306)
PB_IN_GAAAAG(T24, T28, T29, T318, T318, []) → U5_GAAAAG(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
PB_IN_GAAAAG(T24, T28, T29, T318, T318, []) → ROW2COLC_IN_GAAAA(T24, T28, T29, T318, T318)

The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga
TRANSPOSED_IN_GA(x1, x2)  =  TRANSPOSED_IN_GA(x1)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x5)
PB_IN_GAAAAG(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAAAAG(x1, x6)
U2_GAAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U2_GAAAAG(x7)
ROW2COLC_IN_GAAAA(x1, x2, x3, x4, x5)  =  ROW2COLC_IN_GAAAA(x1)
U6_GAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_GAAAA(x21)
ROW2COLA_IN_GAAGA(x1, x2, x3, x4, x5)  =  ROW2COLA_IN_GAAGA(x1, x4)
U1_GAAGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_GAAGA(x8)
U3_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAAAG(x7, x8, x9)
U4_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GAAAAG(x6, x9)
U5_GAAAAG(x1, x2, x3, x4, x5)  =  U5_GAAAAG(x5)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TRANSPOSED_IN_GA(.(T24, T25), .(T28, T29)) → U7_GA(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
TRANSPOSED_IN_GA(.(T24, T25), .(T28, T29)) → PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25)
PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25) → U2_GAAAAG(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
PB_IN_GAAAAG(T24, T28, T29, X35, X36, T25) → ROW2COLC_IN_GAAAA(T24, T28, T29, X35, X36)
ROW2COLC_IN_GAAAA(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_GAAAA(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
ROW2COLC_IN_GAAAA(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → ROW2COLA_IN_GAAGA(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)
ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_GAAGA(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → ROW2COLA_IN_GAAGA(T267, T271, X539, .([], T270), X540)
PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → ROW2COLC_IN_GAAAA(T24, T28, T29, .(T310, T311), T307)
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → PB_IN_GAAAAG(T305, T310, T311, X611, X612, T306)
PB_IN_GAAAAG(T24, T28, T29, T318, T318, []) → U5_GAAAAG(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
PB_IN_GAAAAG(T24, T28, T29, T318, T318, []) → ROW2COLC_IN_GAAAA(T24, T28, T29, T318, T318)

The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga
TRANSPOSED_IN_GA(x1, x2)  =  TRANSPOSED_IN_GA(x1)
U7_GA(x1, x2, x3, x4, x5)  =  U7_GA(x5)
PB_IN_GAAAAG(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAAAAG(x1, x6)
U2_GAAAAG(x1, x2, x3, x4, x5, x6, x7)  =  U2_GAAAAG(x7)
ROW2COLC_IN_GAAAA(x1, x2, x3, x4, x5)  =  ROW2COLC_IN_GAAAA(x1)
U6_GAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_GAAAA(x21)
ROW2COLA_IN_GAAGA(x1, x2, x3, x4, x5)  =  ROW2COLA_IN_GAAGA(x1, x4)
U1_GAAGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_GAAGA(x8)
U3_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAAAG(x7, x8, x9)
U4_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GAAAAG(x6, x9)
U5_GAAAAG(x1, x2, x3, x4, x5)  =  U5_GAAAAG(x5)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 11 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → ROW2COLA_IN_GAAGA(T267, T271, X539, .([], T270), X540)

The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga
ROW2COLA_IN_GAAGA(x1, x2, x3, x4, x5)  =  ROW2COLA_IN_GAAGA(x1, x4)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_GAAGA(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → ROW2COLA_IN_GAAGA(T267, T271, X539, .([], T270), X540)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
ROW2COLA_IN_GAAGA(x1, x2, x3, x4, x5)  =  ROW2COLA_IN_GAAGA(x1, x4)

We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ROW2COLA_IN_GAAGA(.(T266, T267), T270) → ROW2COLA_IN_GAAGA(T267, .([], T270))

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • ROW2COLA_IN_GAAGA(.(T266, T267), T270) → ROW2COLA_IN_GAAGA(T267, .([], T270))
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → PB_IN_GAAAAG(T305, T310, T311, X611, X612, T306)

The TRS R consists of the following rules:

transposeD_in_ga(.(T24, T25), .(T28, T29)) → U7_ga(T24, T25, T28, T29, pB_in_gaaaag(T24, T28, T29, X35, X36, T25))
pB_in_gaaaag(T24, T28, T29, X35, X36, T25) → U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_in_gaaaa(T24, T28, T29, X35, X36))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U2_gaaaag(T24, T28, T29, X35, X36, T25, row2colC_out_gaaaa(T24, T28, T29, X35, X36)) → pB_out_gaaaag(T24, T28, T29, X35, X36, T25)
pB_in_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_in_gaaaag(T305, T310, T311, X611, X612, T306))
pB_in_gaaaag(T24, T28, T29, T318, T318, []) → U5_gaaaag(T24, T28, T29, T318, row2colC_in_gaaaa(T24, T28, T29, T318, T318))
U5_gaaaag(T24, T28, T29, T318, row2colC_out_gaaaa(T24, T28, T29, T318, T318)) → pB_out_gaaaag(T24, T28, T29, T318, T318, [])
U4_gaaaag(T24, T28, T29, T310, T311, T307, T305, T306, pB_out_gaaaag(T305, T310, T311, X611, X612, T306)) → pB_out_gaaaag(T24, T28, T29, .(T310, T311), T307, .(T305, T306))
U7_ga(T24, T25, T28, T29, pB_out_gaaaag(T24, T28, T29, X35, X36, T25)) → transposeD_out_ga(.(T24, T25), .(T28, T29))
transposeD_in_ga([], []) → transposeD_out_ga([], [])

The argument filtering Pi contains the following mapping:
transposeD_in_ga(x1, x2)  =  transposeD_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U7_ga(x1, x2, x3, x4, x5)  =  U7_ga(x5)
pB_in_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_in_gaaaag(x1, x6)
U2_gaaaag(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaaag(x7)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
pB_out_gaaaag(x1, x2, x3, x4, x5, x6)  =  pB_out_gaaaag(x5)
U3_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_gaaaag(x7, x8, x9)
U4_gaaaag(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_gaaaag(x6, x9)
U5_gaaaag(x1, x2, x3, x4, x5)  =  U5_gaaaag(x5)
transposeD_out_ga(x1, x2)  =  transposeD_out_ga
PB_IN_GAAAAG(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAAAAG(x1, x6)
U3_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAAAG(x7, x8, x9)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PB_IN_GAAAAG(T24, T28, T29, .(T310, T311), T307, .(T305, T306)) → U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_in_gaaaa(T24, T28, T29, .(T310, T311), T307))
U3_GAAAAG(T24, T28, T29, T310, T311, T307, T305, T306, row2colC_out_gaaaa(T24, T28, T29, .(T310, T311), T307)) → PB_IN_GAAAAG(T305, T310, T311, X611, X612, T306)

The TRS R consists of the following rules:

row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477) → U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_in_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], [])))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, []))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), [])))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, []))))))), .([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], []))))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, [])))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), []))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, [])))))), .([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], [])))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, []))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), [])))), .(T58, .(T83, .(T108, .(T133, .(T158, []))))), .([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], []))))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, [])))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), []))), .(T58, .(T83, .(T108, .(T133, [])))), .([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], [])))) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, []))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), [])), .(T58, .(T83, .(T108, []))), .([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], []))) → row2colC_out_gaaaa(.(T56, .(T81, [])), .(T56, T58), .(.(T81, T83), []), .(T58, .(T83, [])), .([], .([], [])))
row2colC_in_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], [])) → row2colC_out_gaaaa(.(T56, []), .(T56, T58), [], .(T58, []), .([], []))
U6_gaaaa(T56, T81, T106, T131, T156, T181, T206, T231, T232, T58, T83, T108, T133, T158, T183, T208, T233, T235, X476, X477, row2colA_out_gaaga(T232, T235, X476, .([], .([], .([], .([], .([], .([], .([], []))))))), X477)) → row2colC_out_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232)))))))), .(T56, T58), .(.(T81, T83), .(.(T106, T108), .(.(T131, T133), .(.(T156, T158), .(.(T181, T183), .(.(T206, T208), .(.(T231, T233), T235))))))), .(T58, .(T83, .(T108, .(T133, .(T158, .(T183, .(T208, .(T233, X476)))))))), X477)
row2colA_in_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540) → U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_in_gaaga(T267, T271, X539, .([], T270), X540))
row2colA_in_gaaga([], [], [], T279, .([], T279)) → row2colA_out_gaaga([], [], [], T279, .([], T279))
U1_gaaga(T266, T267, T268, T271, X539, T270, X540, row2colA_out_gaaga(T267, T271, X539, .([], T270), X540)) → row2colA_out_gaaga(.(T266, T267), .(.(T266, T268), T271), .(T268, X539), T270, X540)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
row2colC_in_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_in_gaaaa(x1)
U6_gaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)  =  U6_gaaaa(x21)
row2colA_in_gaaga(x1, x2, x3, x4, x5)  =  row2colA_in_gaaga(x1, x4)
U1_gaaga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U1_gaaga(x8)
[]  =  []
row2colA_out_gaaga(x1, x2, x3, x4, x5)  =  row2colA_out_gaaga(x5)
row2colC_out_gaaaa(x1, x2, x3, x4, x5)  =  row2colC_out_gaaaa(x5)
PB_IN_GAAAAG(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAAAAG(x1, x6)
U3_GAAAAG(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAAAG(x7, x8, x9)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PB_IN_GAAAAG(T24, .(T305, T306)) → U3_GAAAAG(T305, T306, row2colC_in_gaaaa(T24))
U3_GAAAAG(T305, T306, row2colC_out_gaaaa(T307)) → PB_IN_GAAAAG(T305, T306)

The TRS R consists of the following rules:

row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, .(T231, T232))))))))) → U6_gaaaa(row2colA_in_gaaga(T232, .([], .([], .([], .([], .([], .([], .([], [])))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, .(T206, [])))))))) → row2colC_out_gaaaa(.([], .([], .([], .([], .([], .([], .([], []))))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, .(T181, []))))))) → row2colC_out_gaaaa(.([], .([], .([], .([], .([], .([], [])))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, .(T156, [])))))) → row2colC_out_gaaaa(.([], .([], .([], .([], .([], []))))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, .(T131, []))))) → row2colC_out_gaaaa(.([], .([], .([], .([], [])))))
row2colC_in_gaaaa(.(T56, .(T81, .(T106, [])))) → row2colC_out_gaaaa(.([], .([], .([], []))))
row2colC_in_gaaaa(.(T56, .(T81, []))) → row2colC_out_gaaaa(.([], .([], [])))
row2colC_in_gaaaa(.(T56, [])) → row2colC_out_gaaaa(.([], []))
U6_gaaaa(row2colA_out_gaaga(X477)) → row2colC_out_gaaaa(X477)
row2colA_in_gaaga(.(T266, T267), T270) → U1_gaaga(row2colA_in_gaaga(T267, .([], T270)))
row2colA_in_gaaga([], T279) → row2colA_out_gaaga(.([], T279))
U1_gaaga(row2colA_out_gaaga(X540)) → row2colA_out_gaaga(X540)

The set Q consists of the following terms:

row2colC_in_gaaaa(x0)
U6_gaaaa(x0)
row2colA_in_gaaga(x0, x1)
U1_gaaga(x0)

We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U3_GAAAAG(T305, T306, row2colC_out_gaaaa(T307)) → PB_IN_GAAAAG(T305, T306)
    The graph contains the following edges 1 >= 1, 2 >= 2

  • PB_IN_GAAAAG(T24, .(T305, T306)) → U3_GAAAAG(T305, T306, row2colC_in_gaaaa(T24))
    The graph contains the following edges 2 > 1, 2 > 2

(22) YES